﻿using System;
using System.CodeDom.Compiler;
using System.ComponentModel;
using System.Diagnostics;
using System.Xml.Schema;
using System.Xml.Serialization;

/// <summary>
/// Summary description for CXHotelRoomReservation
/// </summary>
namespace CE.HotelEan
{
    public class CXHotelRoomReservation
    {
        public CXHotelRoomReservation()
        {
            //
            // TODO: Add constructor logic here
            //
        }
        public HotelRoomReservationResponse HotelRoomReservationResponse { get; set; }
    }
    public class HotelRoomReservationResponse : BaseResponse
    {
        public HotelRoomReservationResponse() { }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string arrivalDate { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string cancellationPolicy { get; set; }
        [XmlArray(Form = XmlSchemaForm.Unqualified)]
        [XmlArrayItem(Form = XmlSchemaForm.Unqualified, IsNullable = false)]
        public CancelPolicyInfo[] CancelPolicyInfoList { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string checkInInstructions { get; set; }
        [XmlElement("confirmationNumbers", Form = XmlSchemaForm.Unqualified)]
        //public string confirmationNumbers { get; set; }
        public string[] confirmationNumbers { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public CouponInformationResponse CouponInformationResponse { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string departureDate { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string drivingDirections { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string errorText { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public bool existingItinerary { get; set; }
        [XmlIgnore]
        public bool existingItinerarySpecified { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string hotelAddress { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string hotelCity { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string hotelCountryCode { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string hotelName { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string hotelPostalCode { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string hotelReplyText { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string hotelStateProvinceCode { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public long itineraryId { get; set; }
        [XmlIgnore]
        public bool itineraryIdSpecified { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public bool nonRefundable { get; set; }
        [XmlIgnore]
        public bool nonRefundableSpecified { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public int numberOfRoomsBooked { get; set; }
        [XmlIgnore]
        public bool numberOfRoomsBookedSpecified { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public bool processedWithConfirmation { get; set; }
        [XmlIgnore]
        public bool processedWithConfirmationSpecified { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public HotelRateInfo RateInfo { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public RateInfos RateInfos { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public int rateOccupancyPerRoom { get; set; }
        [XmlIgnore]
        public bool rateOccupancyPerRoomSpecified { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string reservationStatusCode { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string roomDescription { get; set; }
        [XmlArrayItem(Form = XmlSchemaForm.Unqualified, IsNullable = false)]
        [XmlArray(Form = XmlSchemaForm.Unqualified)]
        public Room[] RoomGroup { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public SupplierType supplierType { get; set; }
        [XmlIgnore]
        public bool supplierTypeSpecified { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string tripAdvisorRating { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string tripAdvisorRatingUrl { get; set; }
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public int tripAdvisorReviewCount { get; set; }
        [XmlIgnore]
        public bool tripAdvisorReviewCountSpecified { get; set; }
    }
}
